Many enterprise software applications are designed as web-based applications (“web applications”) so that they can be accessed from anywhere and/or using almost any processing device that can run a web browser. A web application comprises client-side components and server-side components that communicate with each other using protocols including the HTTP protocol. Client-side components of a web application are typically responsible for handling the user interface by presenting (e.g., displaying) information to the user through a user interface on the user's access device; receiving user input, etc. Server-side components are responsible for tasks including either itself generating or obtaining information from data sources to be presented to the user in accordance with received inputs.
As the complexity of underlying web applications grow, the volume of data transmitted to the client-side components from the server-side components increases. Moreover, as the number of users and/or the frequency with which the application are accessed increases, the processing load on the servers may increase. Increases in the volume of data transmitted from servers to client devices, server delays due, for example, to processing load and/or latencies associated with network access to remote data sources, may often result in users of web applications having to endure long response times.
Various techniques including caching of rendered data so that the same data can be quickly displayed the next time the user interface is brought up, are used to improve the user experience and/or the performance of the user interface. Further improvements to these technologies are desirable to enhance web applications by improving both the accuracy and the performance of dashboards.